<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p>
        上一个p
    </p>
    <div id="outer">
        <span>
            大span
        </span>
        
        <p class="cc">
            大p
            <span>span..</span>
        </p>

        <div>
            大div
        </div>
    </div>

    <span>span...</span>
    <!-- 
        <span> 用于对文档中的行内元素进行组合。
        <span> 标签没有固定的格式表现。
            当对它应用样式时，它才会产生视觉上的变化。
            如果不对 <span> 应用样式，那么 <span> 元素中的文本与其他文本不会任何视觉上的差异。
        <span> 标签提供了一种将文本的一部分或者文档的一部分独立出来的方式。
     -->
        
        

    <script>
        let div = document.querySelector("#outer");
        //获取div下的所有子节点
        //childNodes = 标签 + #text
        // let child = div.childNodes;
        // console.log(child);

        //children - 标签 = 第一层
        let child = div.children;
        console.log(child);
        console.log(div.childElementCount);//children标签的个数

        //p
        let p = document.querySelector(".cc");
        //获取父标签
        console.log(p.parentNode.parentNode.parentNode.parentNode.nodeName)//包含#text
        console.log(p.parentNode.parentNode.parentNode.parentNode)//#document
    
        //获取下一个仅仅跟着的兄弟节点
        let span = div.nextElementSibling.nextElementSibling.nextElementSibling;
        console.log(span);//如果下一个没有兄弟节点就返回为空
    
        //获取上一个兄弟
        let pre = div.previousElementSibling;
        console.log(pre.nodeName);
    </script>
</body>
</html>